using System.Collections.Generic;
using System.Threading.Tasks;
using ERP.Common.Results;
using ERP.ERPSystem.WarehouseManagement.Dto;
using Volo.Abp.Application.Services;

namespace ERP.ERPSystem.WarehouseManagement
{
    /// <summary>
    /// 装箱管理服务接口
    /// </summary>
    public interface IPackingServices : IApplicationService
    {
        /// <summary>
        /// 获取装箱管理分页列表
        /// </summary>
        Task<APIResult<PackingPagedResult>> GetPagedListAsync(PackingQueryDto query);

        /// <summary>
        /// 根据ID获取装箱管理详情
        /// </summary>
        Task<APIResult<PackingDto>> GetByIdAsync(int id);

        /// <summary>
        /// 创建装箱管理
        /// </summary>
        Task<APIResult<PackingDto>> CreateAsync(PackingCreateDto createDto);

        /// <summary>
        /// 更新装箱管理
        /// </summary>
        Task<APIResult<PackingDto>> UpdateAsync(PackingUpdateDto updateDto);

        /// <summary>
        /// 删除装箱管理
        /// </summary>
        Task<OperationResult> DeleteAsync(int id);

        /// <summary>
        /// 批量删除装箱管理
        /// </summary>
        Task<OperationResult> BatchDeleteAsync(List<int> ids);
    }
} 